<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://tempuri.org/" elementFormDefault="qualified" targetNamespace="http://tempuri.org/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="http://anilkr3.redmond.corp.microsoft.com/TasksWS/TasksService.svc?xsd=xsd2" namespace="http://schemas.datacontract.org/2004/07/Microsoft.InformationSecurity.ISRM.TaskManagment.Classes" />
  <xs:import schemaLocation="http://anilkr3.redmond.corp.microsoft.com/TasksWS/TasksService.svc?xsd=xsd3" namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
  <xs:element name="GetTasksByStatus">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="page" type="xs:int" />
        <xs:element minOccurs="0" name="pageSize" type="xs:int" />
        <xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/Microsoft.InformationSecurity.ISRM.TaskManagment.Classes" minOccurs="0" name="status" nillable="true" type="q1:TaskStatus" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetTasksByStatusResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q2="http://schemas.datacontract.org/2004/07/Microsoft.InformationSecurity.ISRM.TaskManagment.Classes" minOccurs="0" name="GetTasksByStatusResult" nillable="true" type="q2:ArrayOfTask" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetTasks">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="riskID" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetTasksResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q3="http://schemas.datacontract.org/2004/07/Microsoft.InformationSecurity.ISRM.TaskManagment.Classes" minOccurs="0" name="GetTasksResult" nillable="true" type="q3:ArrayOfTask" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetTasksByUser">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="riskID" type="xs:int" />
        <xs:element minOccurs="0" name="userID" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetTasksByUserResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q4="http://schemas.datacontract.org/2004/07/Microsoft.InformationSecurity.ISRM.TaskManagment.Classes" minOccurs="0" name="GetTasksByUserResult" nillable="true" type="q4:ArrayOfTask" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetDeletedTasks">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="page" type="xs:int" />
        <xs:element minOccurs="0" name="pageSize" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetDeletedTasksResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q5="http://schemas.datacontract.org/2004/07/Microsoft.InformationSecurity.ISRM.TaskManagment.Classes" minOccurs="0" name="GetDeletedTasksResult" nillable="true" type="q5:ArrayOfTask" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetTemplates">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q6="http://schemas.datacontract.org/2004/07/Microsoft.InformationSecurity.ISRM.TaskManagment.Classes" minOccurs="0" name="category" nillable="true" type="q6:Category" />
        <xs:element xmlns:q7="http://schemas.datacontract.org/2004/07/Microsoft.InformationSecurity.ISRM.TaskManagment.Classes" minOccurs="0" name="group" nillable="true" type="q7:Group" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetTemplatesResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q8="http://schemas.datacontract.org/2004/07/Microsoft.InformationSecurity.ISRM.TaskManagment.Classes" minOccurs="0" name="GetTemplatesResult" nillable="true" type="q8:ArrayOfTaskTemplate" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AddTask">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q9="http://schemas.datacontract.org/2004/07/Microsoft.InformationSecurity.ISRM.TaskManagment.Classes" minOccurs="0" name="task" nillable="true" type="q9:Task" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AddTaskResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="AddTaskResult" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AddTasks">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q10="http://schemas.datacontract.org/2004/07/Microsoft.InformationSecurity.ISRM.TaskManagment.Classes" minOccurs="0" name="task" nillable="true" type="q10:ArrayOfTask" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AddTasksResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q11="http://schemas.datacontract.org/2004/07/Microsoft.InformationSecurity.ISRM.TaskManagment.Classes" minOccurs="0" name="AddTasksResult" nillable="true" type="q11:ArrayOfTask" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateTask">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q12="http://schemas.datacontract.org/2004/07/Microsoft.InformationSecurity.ISRM.TaskManagment.Classes" minOccurs="0" name="task" nillable="true" type="q12:Task" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateTaskResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteTask">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="taskID" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteTaskResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="AddTemplate">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q13="http://schemas.datacontract.org/2004/07/Microsoft.InformationSecurity.ISRM.TaskManagment.Classes" minOccurs="0" name="taskTemplate" nillable="true" type="q13:TaskTemplate" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AddTemplateResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="AddTemplateResult" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateTemplate">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q14="http://schemas.datacontract.org/2004/07/Microsoft.InformationSecurity.ISRM.TaskManagment.Classes" minOccurs="0" name="taskTemplate" nillable="true" type="q14:TaskTemplate" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateTemplateResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteTemplate">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="taskTemplateID" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteTemplateResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetTask">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="taskID" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetTaskResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q15="http://schemas.datacontract.org/2004/07/Microsoft.InformationSecurity.ISRM.TaskManagment.Classes" minOccurs="0" name="GetTaskResult" nillable="true" type="q15:Task" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetTasksCount">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q16="http://schemas.datacontract.org/2004/07/Microsoft.InformationSecurity.ISRM.TaskManagment.Classes" minOccurs="0" name="user" nillable="true" type="q16:User" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetTasksCountResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="GetTasksCountResult" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetTasksCountByStatus">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q17="http://schemas.datacontract.org/2004/07/Microsoft.InformationSecurity.ISRM.TaskManagment.Classes" minOccurs="0" name="user" nillable="true" type="q17:User" />
        <xs:element xmlns:q18="http://schemas.datacontract.org/2004/07/Microsoft.InformationSecurity.ISRM.TaskManagment.Classes" minOccurs="0" name="status" nillable="true" type="q18:TaskStatus" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetTasksCountByStatusResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="GetTasksCountByStatusResult" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetTaskHistory">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetTaskHistoryResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q19="http://schemas.datacontract.org/2004/07/Microsoft.InformationSecurity.ISRM.TaskManagment.Classes" minOccurs="0" name="GetTaskHistoryResult" nillable="true" type="q19:ArrayOfTaskHistory" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AddCategory">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q20="http://schemas.datacontract.org/2004/07/Microsoft.InformationSecurity.ISRM.TaskManagment.Classes" minOccurs="0" name="category" nillable="true" type="q20:Category" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AddCategoryResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="AddCategoryResult" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateCategory">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q21="http://schemas.datacontract.org/2004/07/Microsoft.InformationSecurity.ISRM.TaskManagment.Classes" minOccurs="0" name="category" nillable="true" type="q21:Category" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateCategoryResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteCategory">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q22="http://schemas.datacontract.org/2004/07/Microsoft.InformationSecurity.ISRM.TaskManagment.Classes" minOccurs="0" name="category" nillable="true" type="q22:Category" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteCategoryResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAllCategories">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAllCategoriesResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q23="http://schemas.datacontract.org/2004/07/Microsoft.InformationSecurity.ISRM.TaskManagment.Classes" minOccurs="0" name="GetAllCategoriesResult" nillable="true" type="q23:ArrayOfCategory" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetActiveCategories">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetActiveCategoriesResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q24="http://schemas.datacontract.org/2004/07/Microsoft.InformationSecurity.ISRM.TaskManagment.Classes" minOccurs="0" name="GetActiveCategoriesResult" nillable="true" type="q24:ArrayOfCategory" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AddGroup">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q25="http://schemas.datacontract.org/2004/07/Microsoft.InformationSecurity.ISRM.TaskManagment.Classes" minOccurs="0" name="group" nillable="true" type="q25:Group" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AddGroupResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="AddGroupResult" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateGroup">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q26="http://schemas.datacontract.org/2004/07/Microsoft.InformationSecurity.ISRM.TaskManagment.Classes" minOccurs="0" name="group" nillable="true" type="q26:Group" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateGroupResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteGroup">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q27="http://schemas.datacontract.org/2004/07/Microsoft.InformationSecurity.ISRM.TaskManagment.Classes" minOccurs="0" name="group" nillable="true" type="q27:Group" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteGroupResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAllGroups">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAllGroupsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q28="http://schemas.datacontract.org/2004/07/Microsoft.InformationSecurity.ISRM.TaskManagment.Classes" minOccurs="0" name="GetAllGroupsResult" nillable="true" type="q28:ArrayOfGroup" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetActiveGroups">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetActiveGroupsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q29="http://schemas.datacontract.org/2004/07/Microsoft.InformationSecurity.ISRM.TaskManagment.Classes" minOccurs="0" name="GetActiveGroupsResult" nillable="true" type="q29:ArrayOfGroup" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetTasksCountByFilter">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="field" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="soperator" nillable="true" type="xs:string" />
        <xs:element xmlns:q30="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="values" nillable="true" type="q30:ArrayOfstring" />
        <xs:element minOccurs="0" name="isTaskUser" type="xs:boolean" />
        <xs:element minOccurs="0" name="personID" type="xs:int" />
        <xs:element minOccurs="0" name="isActiveTasksOnly" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetTasksCountByFilterResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="GetTasksCountByFilterResult" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetTasksByFilter">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="field" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="soperator" nillable="true" type="xs:string" />
        <xs:element xmlns:q31="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="values" nillable="true" type="q31:ArrayOfstring" />
        <xs:element minOccurs="0" name="sortField" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="sortDescending" type="xs:boolean" />
        <xs:element minOccurs="0" name="pageSize" type="xs:int" />
        <xs:element minOccurs="0" name="startRowIndex" type="xs:int" />
        <xs:element minOccurs="0" name="isTaskUser" type="xs:boolean" />
        <xs:element minOccurs="0" name="personID" type="xs:int" />
        <xs:element minOccurs="0" name="isActiveTasksOnly" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetTasksByFilterResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q32="http://schemas.datacontract.org/2004/07/Microsoft.InformationSecurity.ISRM.TaskManagment.Classes" minOccurs="0" name="GetTasksByFilterResult" nillable="true" type="q32:ArrayOfTask" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAllTaskStatus">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAllTaskStatusResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q33="http://schemas.datacontract.org/2004/07/Microsoft.InformationSecurity.ISRM.TaskManagment.Classes" minOccurs="0" name="GetAllTaskStatusResult" nillable="true" type="q33:ArrayOfTaskStatus" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetTasksUsers">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetTasksUsersResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q34="http://schemas.datacontract.org/2004/07/Microsoft.InformationSecurity.ISRM.TaskManagment.Classes" minOccurs="0" name="GetTasksUsersResult" nillable="true" type="q34:ArrayOfUser" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>